import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * @ClassName Test
 * @Description ThreadPoolDemo
 * @Author Li
 * @Date 2022/8/9 16:15
 * @ModifyDate 2022/8/9 16:15
 * @Version 1.0
 */
public class ThreadPoolDemo {
    public static void main(String[] args) {
        // 创建线程池对象
        ExecutorService service = Executors.newFixedThreadPool(3); // 包含3个线程对象
        // 创建Runnable实例对象
        MyRunnable r = new MyRunnable();

        // 自己创建线程对象的方式
        // Thread t = new Thread(r);
        // t.start();

        // 从线程池中获取线程对象，然后调用MyRunnable中的run()
        service.submit(r);
        service.submit(r);
        service.submit(r);
        service.submit(r);
        service.submit(r);

        // 注意：submit方法调用结束后，程序并不终止，是因为线程池控制了线程的关闭
        // 只是将用完的线程又归还到了线程池中
        // 如果需要关闭线程池
        // service.shutdown();
    }
}
